#!/usr/bin/python
#-*- coding: utf-8 -*-

# modul das nur die logik funktionen enthaelt, webanwendung und darstellung in
# cgi script
import os
import random
import string
import sys


def getString(source):
    """Gibt einen grossen String zurueck und erwartet eine Liste von
    Dateinamen.
    """
    collection = ''
    for f in source:
        file_obj = file(f, 'r') # dateiobjekt
        collection += '\n%\n'+ file_obj.read()
    return collection # automatisch schliessen hoffentlich

def dumpString(string, filename):
    """Schreibt den uebergebenen string in die Datei filename.
    """
    handle = file(filename, 'w')
    handle.write(string)

def printText(collection # liste mit Zitaten (list)
              , p=None # gesuchtes pattern (String)
              ):
    """Liefert ein total zufaelliges oder Zitat oder ein zfaelliges, welches das Pattern enthaelt.
    """
    if p is None:
        return random.choice(lall)
    lfilter = [text for text in collection if p in text] # listcomprehension
    # wenn lfilter eine leere liste ist wurde das pattern nicht gefunden
    #random.choice(seq) liefert ein zufaelliges element einer sequenz
    return random.choice(lfilter) if lfilter else 'Leider kommt dieser Ausdruck niemals vor' 


